/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hex;
import org.lwjgl.opengl.GL11;
import static org.lwjgl.opengl.GL11.*;
/**
 *
 * @author Grog
 */
public class Hex {
   
    public float promien = 1f;
    public float wysokoscTr = (float) (promien*(Math.sqrt(3)/2));
   
    
    
    public void utworzSiatke(int x, int y){      
        
       for (int j = 0; j < y; j++) {  
         for (int i = 0; i < x; i++) {   
                utworzHex2((wysokoscTr)*i,-(j*(promien)),0);      
         }
         if(j%2==0){
             glTranslatef((float)(wysokoscTr),-(float)(0.5*promien)+(promien), 0);
         }
         else{
            glTranslatef((float)-(wysokoscTr),-(float)(0.5*promien)+(promien), 0);
         
         }
         
    }
    }
    
    
    
    
    public void utworzHex(float x, float y){         
    glPushMatrix();
    
    
    glPointSize(12f);
    
    glBegin(GL_POINTS);
    glVertex3f(x, y, 0);
    glEnd();
    
    glTranslatef(x, y, 0);
    glPointSize(1f);
    glBegin(GL_LINES);
    
    glVertex3f(promien, 0,0);
    
    glVertex3f((float)(0.5*promien), wysokoscTr,0); 
    glVertex3f((float)(0.5*promien), wysokoscTr,0);
    
    glVertex3f(-(float)(0.5*promien), wysokoscTr,0);
     glVertex3f(-(float)(0.5*promien), wysokoscTr,0);
    
     glVertex3f(-promien, 0,0);
     glVertex3f(-promien, 0,0);
    
     glVertex3f(-(float)(0.5*promien), -wysokoscTr,0);
     glVertex3f(-(float)(0.5*promien), -wysokoscTr,0);
   
     glVertex3f((float)(0.5*promien), -wysokoscTr,0);
     glVertex3f((float)(0.5*promien), -wysokoscTr,0);
 
     glVertex3f(promien, 0,0);
    glEnd();
    glPopMatrix();
    }
    
    public void utworzHex2(float x, float y, float z){    
    
     glPushMatrix();
    
    glTranslatef(x, y, z);
    glPointSize(12f);
//    glBegin(GL_POINTS);
//    glVertex3f(x, y, z);
//    glEnd();
    
    glTranslatef(x, y, z);
    glPointSize(1f);
    
    glBegin(GL_LINES);
    
    glVertex3f(0, promien, z);
    
    glVertex3f(wysokoscTr, (float) 0.5*promien, z);
    glVertex3f(wysokoscTr, (float) 0.5*promien, 0);
    
    glVertex3f(wysokoscTr, (float) -(0.5*promien), z);
    glVertex3f(wysokoscTr, (float) -(0.5*promien), z);
    
    glVertex3f(0, -promien, z);
    glVertex3f(0, -promien, z);
    
    glVertex3f(-wysokoscTr, (float) -(0.5*promien), z);
    glVertex3f(-wysokoscTr, (float) -(0.5*promien), z);
    
    glVertex3f(-wysokoscTr, (float) (0.5*promien), 0);
    glVertex3f(-wysokoscTr, (float) (0.5*promien), 0);
    
    glVertex3f(0, promien, z);
    
    glEnd();
    glPopMatrix();
    
    
    }
    
    
    
    
    
    
    
    
}
